package com.wpen.unit.service.system;

import javax.servlet.http.HttpServletRequest;

import com.wpen.unit.web.dto.system.ChangePwdRequest;
import com.wpen.unit.web.dto.system.ChangePwdResponse;
import com.wpen.unit.web.dto.system.LoginResponse;
import com.wpen.unit.web.dto.system.SysUserAddRequest;
import com.wpen.unit.web.dto.system.SysUserAddResponse;
import com.wpen.unit.web.dto.system.SysUserEnabledRequest;
import com.wpen.unit.web.dto.system.SysUserEnabledResponse;
import com.wpen.unit.web.dto.system.SysUserListRequest;
import com.wpen.unit.web.dto.system.SysUserListResponse;
import com.wpen.unit.web.dto.system.SysUserModRequest;
import com.wpen.unit.web.dto.system.SysUserModResponse;
import com.wpen.unit.web.dto.system.UserInfoRequest;
import com.wpen.unit.web.dto.system.UserInfoResponse;

/**
 * 登录用户个人信息维护
 * 
 * @author Administrator
 *
 */
public interface UserService {

    /**
     * 用户登录
     * 
     * @param request
     * @param userName
     * @param pwd
     * @return
     */
    public LoginResponse userLogin(HttpServletRequest request, String userName, String pwd);

    /**
     * 用户密码-密码修改
     * 
     * @param changePwdParam
     * @return
     * @throws Exception
     */
    public ChangePwdResponse changePwd(HttpServletRequest request, ChangePwdRequest changePwdParam);

    /**
     * 个人信息查询
     * 
     * @param userInfoParam
     * @return
     */
    public UserInfoResponse queryUserInfo(HttpServletRequest request, UserInfoRequest userInfoParam);

    /**
     * 用户增加
     * 
     * @param sysUserAddParam
     * @return
     * @throws Exception
     */
    public SysUserAddResponse addSysUser(SysUserAddRequest sysUserAddParam);

    /**
     * 用户信息修改
     * 
     * @param sysUserModParam
     * @return
     * @throws Exception
     */
    public SysUserModResponse modSysUser(SysUserModRequest sysUserModParam);
    
    public SysUserEnabledResponse enabledSysUser(SysUserEnabledRequest sysUserEnabledParam);

    /**
     * 用户列表查询
     * 
     * @param sysUserListParam
     * @return
     */
    public SysUserListResponse queryListSysUser(SysUserListRequest sysUserListParam);

}
